package com.kl.modular.system.dao.mapper;

import com.kl.common.pager.PageParameter;
import com.kl.modular.system.dao.bo.SystemAuthResourceBo;
import com.kl.modular.system.dao.model.SystemAuthResource;
import org.apache.ibatis.annotations.Param;


import java.util.List;



/**
 * 权限资源mapper接口
 * @author XRP_ZJB
 * @date 2016-01-15 13:41
 * @(C) XIGNSOFT Copyright 
 */
public interface SystemAuthResourceMapper {
	
	List<SystemAuthResource> getListByBoPage(@Param("bo") SystemAuthResourceBo systemAuthResourceBo, @Param("page") PageParameter page);
	
	// 查询记录数
	int selectCountByBo(@Param("bo") SystemAuthResourceBo systemAuthResourceBo);
	
	// 删除
    int deleteByPrimaryKey(@Param(value = "codes") String[] codes);
    	
    // 插入
    int insert(SystemAuthResource systemAuthResource);
    
    // 查询
    SystemAuthResource selectByPrimaryKey(String code);
    
    // 更新
    int updateByPrimaryKey(SystemAuthResource systemAuthResource);
    
    // 查询角色权限授权字符串
    List<String> getRoleAuthListByRoleCode(@Param("roleCode") String roleCode, @Param("moduleType") String moduleType);

    // 查询机关人员权限
    List<String> getAuthResourceByOrgansPersonId(@Param("organsPersonId") Long organsPersonId);

    // 获取机关人员模块权限
    List<SystemAuthResource> getMenuListByOrgansPersonId(@Param("organsPersonId") Long organsPersonId);

    // 获取机关人员的菜单权限
    List<SystemAuthResource> getMenuAuthListByOrgansPersonId(@Param("authParentCode") String authParentCode,
                                                             @Param("personId") Long personId,
                                                             @Param("authParentCodes") String[] authParentCodes);
}